package com.yellowframework.cloud.api.system;

import com.yellowframework.cloud.common.model.response.ObjectResponseResult;
import com.yellowframework.cloud.common.model.response.QueryResponseResult;
import com.yellowframework.cloud.common.model.response.ResponseResult;
import com.yellowframework.cloud.domain.system.SysUser;
import com.yellowframework.cloud.domain.system.ext.SysUserExt;
import com.yellowframework.cloud.domain.system.request.ChangePwdRequest;
import com.yellowframework.cloud.domain.system.request.QuerySysUserRequest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@Api(tags="用户管理")
public interface SysUserControllerApi {

    @ApiOperation("分页查询列表数据")
    QueryResponseResult<SysUser> pageList(Integer page, Integer size, QuerySysUserRequest request);

    @ApiOperation("用户信息")
    ObjectResponseResult<SysUserExt> info(Integer userId);

    @ApiOperation("保存用户")
    ResponseResult save(SysUserExt user);

    @ApiOperation("重置密码")
    ResponseResult reset(Integer id);

    @ApiOperation("修改用户状态")
    ResponseResult changeStatus(Integer id);

    @ApiOperation("修改用户")
    ResponseResult update(Integer id, SysUserExt user);

    @ApiOperation("删除用户")
    ResponseResult delete(Integer[] userIds);

    @ApiOperation("修改密码")
    ResponseResult changePassword(ChangePwdRequest changePwdRequest);
}
